Teaching Parallel Programming for Time-Efficient Computer Applications
نویسندگان
چکیده
Academic research and engineering challenge both require high performance computing (HPC), which can be achieved through parallel programming. The existing curricula of most universities do not properly address the major transition from single-core to multicore systems and sequential to parallel programming. They focus on applying application program interface (API) libraries and open multiprocessing (OpenMP), message passing interface (MPI), and compute unified device architecture (CUDA)/GPU techniques. This approach misses the goal of developing students' long-term ability to solve real-life problems by 'thinking in parallel'. In this article, a novel approach is proposed to teach parallel computing that will prepare computer application developers for present and future computation challenges. Using multicore/manycore architecture and popular challenging problems from areas like computer science, proposed approach teaches how to analyze and develop efficient solutions for the problems. As preliminary work, some multithreaded parallel programs are introduced to computer science and engineering students. Based on the feedbacks from information technology (IT) professionals and Student Outcomes Assessment Reports, proposed approach has potential to provide adequate knowledge so that students can fulfill the growing industry
منابع مشابه
A necessary condition for multiple objective fractional programming
In this paper, we establish a proof for a necessary condition for multiple objective fractional programming. In order to derive the set of necessary conditions, we employ an equivalent parametric problem. Also, we present the related semi parametric model.
متن کاملTeaching Parallel and Distributed Computing topics for the Undergraduate Computer Science Student
Parallel and distributed systems programming skills has become a common requirement in the development of modern applications. It is imperative that an updated curriculum in computer science include these topics not only as advanced (often elective) programming courses. There is a general consensus that parallel programming topics should be spread in contents of several core courses and these t...
متن کاملExploring Computer Vision and Image Processing Algorithms in Teaching Parallel Programming
Computer Vision (CV) is a rapidly growing field, intent on enabling computers to process, analyze, and understand the information of images to produce structured information and/or make decisions. In recent years, interest in computer vision has grown in part as a result of both cheaper and more capable cameras, but also largely because of affordable and increasing levels of computer processing...
متن کاملParleda: a Library for Parallel Processing in Computational Geometry Applications
ParLeda is a software library that provides the basic primitives needed for parallel implementation of computational geometry applications. It can also be used in implementing a parallel application that uses geometric data structures. The parallel model that we use is based on a new heterogeneous parallel model named HBSP, which is based on BSP and is introduced here. ParLeda uses two main lib...
متن کاملPareto-based Multi-criteria Evolutionary Algorithm for Parallel Machines Scheduling Problem with Sequence-dependent Setup Times
This paper addresses an unrelated multi-machine scheduling problem with sequence-dependent setup time, release date and processing set restriction to minimize the sum of weighted earliness/tardiness penalties and the sum of completion times, which is known to be NP-hard. A Mixed Integer Programming (MIP) model is proposed to formulate the considered multi-criteria problem. Also, to solve the mo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014